#include<iostream>
class Singleton{
  private:
    int _data = 0;
    static Singleton _eton;//定义一个静态成员，这个类中只有一份
  private:
    Singleton(){}//构造函数私有化，这样就不能在类外实例化对象了
  public:
    static Singleton* GetInstance(){ //定义静态函数是为了不实例化对象来调用函数，通过类名::函数名来调用
      return &_eton;//返回静态成员地址
    }
    int getdata(){
      return _data;
    }
};
Singleton Singleton::_eton;//静态成员要在类外定义
int main(){
  std::cout<<Singleton::GetInstance()->getdata()<< std::endl;
  return 0;
}
